Digital communication systems are known to comprise base stations and repeaters in communication with a plurality of communication units. To this end, base stations and repeaters transmit and receive digital voice messages, typically over a radio frequency (RF) communication link. In the case of base stations, messages from consoles may also be transmitted and received over a wireline communication link. Both RF and wireline communication links are known to induce bit errors in transmitted digital voice messages. Indeed, high error rates can be expected over RF links, while significant error rates on wireline links, caused, for example, by switching devices, are also known.
Regardless of the source of error, digital voice messages are typically forward error correction encoded. Forward error correction techniques, often referred to as error correction codes, allow errors to be detected, and even corrected, and can be divided into two categories: perfect codes and non-perfect codes, as discussed below. Using these error correction techniques, a message is divided into small portions. Each portion is encoded to produce a codeword, which codewords are transmitted to a target over a given communication link. At the target, the codewords are decoded and most transmission errors induced by the communication link are detected and corrected. The resulting decoded portions may then be processed to reconstruct the original message. The reconstructed message can then be re-encoded for transmission over yet another communication link. This process of repetitive encoding and decoding is continued until the message has reached its final destination. For example, a message from a console to a communication unit may have to pass through a base station and a repeater before reaching the communication unit.
When transmitted over each link (e.g., between the console and base station, base station and repeater, repeater and communication unit), the message undergoes the encoding/decoding procedure described above. However, error rates on a communication link are often high enough that the error correction technique used is unable to correct all the errors in a particular portion of a message. An uncorrectable portion of a message is typically regarded as unusable. Nevertheless, if synchronization of the message is to be maintained, as is typically the case, a substitute for the uncorrectable portion, typically in the form of a special codeword not otherwise used, indicating the presence of the uncorrectable portion, can be sent to the target of the message. In this manner, the target of the message knows that the portion represented by the special codeword is irreparably corrupted and may execute procedures that mitigate the effect of the uncorrectable portion (error mitigation).
This solution is possible only if codewords exist that would not normally occur as a result of the encoding process, i.e., unused codewords. Error correction codes having unused codewords are often referred to as non-perfect codes. Non-perfect codes can be described as those codes in which a subset of codewords, less than all possible codewords, are valid (i.e., correctable). Conversely, in a perfect code, all possible codewords are valid. Thus, perfect codes used to produce binary codewords consisting of n-information bits would result in 2n valid codewords. Non-perfect codes resulting in binary codewords n-bits in length would have no more than (2n−1) valid codewords. Therefore perfect codes do not contain unique and valid codewords that could otherwise be used to inform the target of uncorrectable codewords. However even with a non-perfect code, using a special codeword to indicate erasures may not always result in mitigation in the receiver. This is because during transmission the special codeword may itself become corrupt with errors that cause it not to be detected at the receiver.
Examples of forward error correction encoders and decoders using perfect error correction codes and non-perfect error correction codes are shown in FIGS. 1 and 2. In particular, a transmitter 100 and a receiver 200 operate in accordance with ETSI-DMR (European Telecommunications Standard Institute-Digital Mobile Radio) standard as defined in ETSI Technical Specifications 102 361. A data input device 101 provides a primary input vector u0 and a set of secondary input vectors u0-u3. As shown, the set of input vectors u0-u3 are error correction encoded using a primary encoder 102 and a secondary encoder 103. The primary encoder 102 encodes the primary input vector u0 using a non-perfect code such as, for instance, a non-perfect Golay (24,12) code to generate a primary encoded vector c0. The secondary encoder 103 encodes the set of secondary input vectors (and more particularly in this embodiment vector u1) using a perfect code such as, for instance, a Golay (23,12) code or a Hamming (15,11) code to generate a set of encoded secondary input vectors v1-v3. A modulator 104 is also provided in which the primary input vector u0 is used to modulate, as known in the art, the set of encoded secondary input vectors (and more particularly in this embodiment vector v1) to generate a modulated set of encoded secondary input vectors c1-c3. The primary vector c0 and the modulated set of encoded secondary input vectors c1-c3 is usually then interleaved by an interleaver 105 prior to transmission to the receiver 200.
Reversing the above process, the receiver 200 de-interleaves the received data using a de-interleaver 201 to generate a primary encoded vector c0′ and vectors c1′-c3′. A primary decoder 202 decodes the received primary encoded vector c0′ using a non-perfect Golay (24,12) code to generate a received primary input vector u0′. Received secondary modulated vector c1′ is demodulated by a demodulator 203 using the received primary input vector u0′ to generate a vector v1, which is further decoded by a secondary decoder 204 using a perfect code to generate a vector u1′. The received de-interleaved vectors are shown as c0′-c3′, the demodulated secondary vectors shown as v1′-v3′, and the data vectors as u0′-u3′. It is well known that errors in u1′ are due to uncorrectable errors of u0′, such that detectable errors appear in both u0′ and u1′.
Where receiver 200 is included in an intermediary device such as a base station or a repeater which detects uncorrectable errors, the intermediary device should not simply retransmit corrupted data because this may or may not result in proper error mitigation in a target device. As stated above, the intermediary device could transmit a special codeword (as a replacement for the uncorrectable portion) that in itself serves as an indication to the target device of the uncorrectable errors, but this solution has the above-stated shortcomings associated therewith. One possible solution that avoids the above-described use of special codewords is to replace the uncorrectable portion with a representation of an audio pattern chosen so as to minimize audio degradation when the pattern is properly decoded. Message portions representing silence are often used for this purpose. The representations of silence can be chosen such that message synchronization is maintained. However, the use of encryption techniques, as is often the case in digital communication systems, causes representations of silence to be decrypted into representations of random noise, thereby frustrating the attempt to minimize audio degradation. Still other solutions could be devised in which separate indicators, aside from the codewords themselves, could be transmitted. However, these solutions require additional use of scarce bandwidth resources over the communication links, which is often not feasible.
Therefore, a need exists for a method whereby uncorrectable errors occurring in a message, despite the use of a non-perfect error correction code, can be indicated to the target of the message. Such a method should allow message synchronization to be maintained without the use of additional bandwidth.